The development of a data processing facility infrastructure generally occurs over time. Applications are typically originally acquired to provide a desired functionality when utilized with a particular data processing system platform. However, over time, as the capabilities of data processing systems have increased, new expectations have been developed for applications such that existing applications may no longer satisfy end-user's expectations. For example, an application developed for a command line based operating system, such as the Disk Operating System (DOS) may no longer satisfy the expectations of users who are familiar with graphic user interfaces, such as Microsoft Windows, Windows95, Windows98, and Windows2000 from Microsoft Corporation, Redmond, Wash., or OS/2 from International Business Machines, Armonk, N.Y.
One way in which such changes in expectations may be addressed is by periodically replacing existing applications with newer versions of the applications which take advantage of increases in processing capabilities of later data processing systems. This solution, however, may be very expensive, as replacement costs for many applications may be as much as, or more than, the original cost of the application. Furthermore, if functioning applications are replaced with newer versions there is a risk that the newer versions will have “bugs” or problems that were not present in the existing applications. Also, newer versions of some applications may not exist or may be prohibitively expensive to create. Thus, merely replacing existing applications with newer versions of the applications may be expensive, risky or impossible.
Alternatively, existing applications may be augmented with new user interfaces or functions so as to provide increased functionality while still utilizing the original application. For example, graphic user interfaces may be provided to text based programs by converting the text interface to graphic representations of the text interface. Such extensions may be even more efficient if common program code is utilized to provide the increased functionality. For example, in the object oriented Java programming language developed by Sun Microsystems, class libraries may be available which provide common methods which may be utilized to implement functions provided by the class library. Thus, if existing applications could access the methods of a Java class library it might be possible to add the functionality of the class library to the application.
Unfortunately, not all existing applications may access methods of a Java class library. While applications which are 32 bit applications written in C or C++ may use the Java Native Interface (JNI) to incorporate Java methods into an application, JNI typically does not support other programming languages or 16 bit applications. For example, current Java class libraries are 32 bit applications which may not be directly accessed by a 16 bit application. Accordingly, an existing application written in, for example, CBASIC may not directly invoke methods in a Java class library. Thus, the functionality provided by static methods of a Java class library may be unavailable to existing applications which cannot access methods of the Java class library directly.
Accordingly, a need exists for improvements in how existing applications may be extended with static Java methods.